package top.go2do.auth.business.user.service;

import top.go2do.auth.business.user.module.*;
import top.go2do.common.module.UserPO;
import top.go2do.common.service.TomatoService;

import java.util.List;

/**
 * @author xingyuji
 * @date 2025/3/20 15:04
 * @description
 */
public interface UserService extends TomatoService<UserPO, UserCreateForm, UserModifyForm, UserQueryCondition, UserQueryAllCondition, Long> {
    void createUser(UserAddBO addBO);

    String encryptRawPassword(String rawPassword);

    UserPO findByUsername(String username);

    UserPO findByAppIdAndUsername(String appId, String username);

    boolean checkUsernameAndPassword(LoginCheckBO checkBO, UserPO userPO);

    boolean checkUsernameAndPassword(LoginCheckBO checkBO);

    List<UserListVO> po2vo(List<UserPO> list);


    void setRoles(UserRolesForm userRolesForm);
}
